function request(options) {

    // options 穿过的数据

    // 请求拦截器

    //  ...

    // 1. 加一些统一的参数，或者配置

    // 没有些域名

    if (!options.url.startsWith("https://") && !options.url.startsWith("http://")) {

      // 添加上前缀

      options.url = "https://showme2.myhope365.com" + options.url

    }

    // 默认的请求头

    // 表单格式的接口较多

    let header = {

      "content-type": "application/x-www-form-urlencoded",

      "cookie":uni.getStorageSync('cookie') || "",

    };

    if (options.header) {

      // 对象里面的key值是不能重复, 并且重复的key值 后面覆盖前面;

      header = {

        ...header,

        ...options.header,

      }

    }

  

    // promise对象 三个状态  成功reslove   失败reject 等待 pendding

    return new Promise((reslove, reject) => {

      // 调用接口

      uni.request({

        // 默认的配置

        // 加载传入的配置

        ...options,

        header,

        success(res) {

          // 响应拦截器，所有接口获取数据之前，都会先执行这里

          //  1. 统一的错误处理

          if (res.statusCode != 200) {

            uni.showToast({

              title: '服务器异常，请联系管理员',

            })

          }

  

          reslove(res)

        },

        fail(err) {

          // 接口请求失败了,返回了错误信息;

          reject(err)

        }

      })

    })

  }

  // get请求数据可以直接拼接到url

  export function get(url, options = {}) {

    return request({

      url,

      ...options

    })

  }

  // 封装post请求 

  export function post(url, data, options = {}) {

    return request({

      url,

      data,

      method: "POST",

      ...options

    })

  }